package nz.ac.massey.jbuif.view;

import java.util.Collection;

import nz.ac.massey.jbuif.events.BeanActionListener;

/**
 * Iview interface
 * @author ahkiouma
 */
public interface IView {

	/**
	 * view-model related
	 * @param objCollection
	 */
	void setView(Collection<Object> objCollection);

	
	/**
	 * gets and sets for the selected object.
	 * @return the selected object
	 */
	Object getSelectedObject();

	/**
	 * set the selected object
	 * @param obj an object
	 */
	void setSelectedObject(Object obj);


	/**
	 * redraws the view
	 */
	void refreshView();
	
	
	/**
	 * remove bean action listener
	 * @param bal instance of Bean Action Listener
	 */
	void removeBeanActionListener(BeanActionListener bal);
	
	
	/**
	 *  add bean action listener
	 *  @param bal instance of Bean Action Listener
	 */
	void addBeanActionListener(BeanActionListener bal);
	
	
	/**
	 * filter the list
	 * @param str string filter
	 */
	void filterList(String str);
	
	
	/**
	 * clear the view
	 */
	void clearView();
}